1. Field of the Invention
This invention relates to a method of generating a time delay in a digital differential analyzer (hereinbelow, abbreviated to "DDA") etc.
In the description of the principles of this invention, a case where the method of this invention to generate a time delay is applied to a DDA will be taken as an example. The invention, however, is also applicable to apparatuses other than a DDA, which will be described in detail in connection with the preferred embodiments.
In the case of employing a DDA for, e.g., the analysis of a process control system or the calculation of a correlation coefficient, a time delay T expressed by the following equation needs to be generated: EQU e.sub.o (t)=e.sub.in (t-T) (1)
where e.sub.in denotes an input signal, and e.sub.o an output signal.
2. Description of the Prior Art
In general, as methods of generating time delays, there are (a) a method which utilizes approximation by a transfer function (refer to "On the analog simulation of a pure time delay", Simulation, 1972, 18, (5), pp. 161-170), and (b) a method which utilizes a time delay arithmetic unit based on a storage mode.
Regarding the former, Pade's approximate formulas are famous. However, they can generate only short time delays of .omega.T&lt;2[rad] with the second approximate formula and .omega.T&lt;6[rad] with the fourth approximate formula, .omega. in the inequalities being representative of the angular frequency of an input signal. Another disadvantage is that an output signal becomes oscillatory for indicial response. Moreover, a large number of DDA arithmetical elements (for example, ten or more elements for Pade's fourth approximate formula) are required. In view of such drawbacks, it can be said that it is unpractical to apply to the DDA the method which employs approximation by a transfer function.
On the other hand, a kind of storage mode of the latter wherein an input signal is sampled at a certain period h, the sampled signal is stored into a digital memory and the stored signal is read out from the memory and then reconstructed and delivered after the lapse of a certain time delay, is a method suited to the DDA which handles all signals as digital signals. It has also the feature that a long time delay can be realized merely by increasing the capacity of the memory.
In the case of applying this method to the DDA, however, several problems as stated hereunder are involved.
The first problem is that the sampling period h must be made small in order to compute a time delay of high precision, so a large memory capacity is required in order to generate a long time delay. FIGS. 1(A)-1(D) illustrate the principle of the storage mode. An input signal e.sub.in being a continuous function as shown in FIG. 1(A) is sampled at a sampling period h as shown in FIG. 1(B). Sampling values e.sub.in (p) (p=0, 1, . . . ) in the order of the No. of the sampling points are successively stored in sequence into addresses of a digital memory as shown in FIG. 1(C). Upon lapse of a time delay T, the sampling values are read out from the digital memory in the order of e.sub.in (0), e.sub.in (1), . . . and then reconstructed and delivered. Accordingly, a time delay output signal e.sub.o becomes a stepped waveform as shown in FIG. 1(D). Here, the error .epsilon. of the time delay output signal becomes as follows: ##EQU1##
Accordingly, the error .epsilon. for p.multidot.h.ltoreq.t&lt;(p+1).multidot.h becomes zero at the sampling point p, and it increases more as the next sampling point (p+1) comes nearer. By way of example, in the case where the time delay has been generated by the method of FIGS. 1(A)-1(D) as to: EQU e.sub.in =A sin x (3)
the absolute error .epsilon. becomes: ##EQU2## where 0.ltoreq..tau.&lt;h
The maximum error develops in the vicinity of the maximum gradient of Equation (3), that is, in the vicinity of x=0. The maximum error in the vicinity of x=0 can therefore be approximately evaluated by substituting p=0 and .tau.=h into Equation (4), as follows: EQU .epsilon..sub.max .congruent.A sin h (5)
It is understood from Equation (5) that, in order to limit the calculation error of the time delay to 0.1% of the full scale A, the sampling period h must be made 0.001 [rad]. In other words, about 6,280 (.perspectiveto.2/0.001) points must be sampled within one cycle. Now, let's consider a case where a sine wave having an angular frequency .omega. is sampled at a sampling period h over a delay time T. Letting B (bytes) denote the length of one word of a memory for expressing a sampling value, the capacity W of the memory required per time delay element becomes: ##EQU3## Assuming by way of example .omega.=10 rad/s, T=5 sec, h=0.001 rad and B=4 bytes, the capacity W becomes as large as 0.2M bytes.
The second problem is attributed to the calculation method of the DDA.
The DDA adopts the calculation method in which each of an input variable, an output variable and an integral independent variable is rounded off into 1 bit or several bits and then transmitted (refer to Japanese Patent Application Publication No. 50-25148 and Japanese Patent Application Publication No. 50-32849). This leads to the problem that also the output signal of the time delay must be converted into an increment of 1 bit or several bits.